#ifndef __HAL_IO_EXT_H
#define __HAL_IO_EXT_H

#include "t_types.h"

#define HAL_MCU_HEAD_FLAG (0x6699)

typedef struct _HAL_MCU_HEAD_S
{
	T_UINT16 u16HeadFlag;
	T_UINT16 u16DataLen; // 
	T_UINT8 u8Cmd; 
	T_UINT8 au8Data[0];
	T_UINT8 u8Crc;
} __PACKED__;
typedef struct _HAL_MCU_HEAD_S HAL_MCU_HEAD_S;

typedef enum _HAL_MCU_CMD_E
{
	HAL_MCU_CMD_SEND_UART0 = 0x0,
	HAL_MCU_CMD_SEND_UART1 = 0x1,
	HAL_MCU_CMD_SEND_UART2 = 0x2,
	HAL_MCU_CMD_SEND_UART3 = 0x3,
	HAL_MCU_CMD_NC1 = 0x4,
	HAL_MCU_CMD_IO_OUT = 0x5,
	HAL_MCU_CMD_NC2 = 0x6,
	HAL_MCU_CMD_READ_REMOTE_CTRL = 0x7,
	HAL_MCU_CMD_NC3 = 0x8,
	HAL_MCU_CMD_SET_EXT_UART = 0x9,
	HAL_MCU_CMD_GET_EXT_UART = 0xA,
} HAL_MCU_CMD_E;

T_INT32 HAL_MCU_SetIo(T_UINT8 u8IoChn, T_UINT8 u8Level);
T_INT32 HAL_MCU_Init(void);
T_INT32 HAL_MCU_DeInit(void);


#endif
